import { call } from './function/call'
import { apply } from './function/apply'
import { bind } from './function/bind'
import { debounce } from './function/debounce'
import { throttle } from './function/throttle'
import { map, reduce, some, every, filter, find, findIndex } from './array/declare'
import { unique1, unique2, unique3 } from './array/unique'
import { slice } from './array/slice'
import { flatten1, flatten2 } from './array/flatten'
import { chunk } from './array/chunk'
import { pull, pullAll } from './array/pull'
import { drop, dropRight } from './array/drop'
import { newInstance } from './object/newInstance'
import { mergeObject } from './object/mergeObject'
import { shadowClone1, shadowClone2 } from './object/clone'
import eventBus from './eventBus'
import PubSub from './pubSub'
import axios from './axios'
import promise from './promise'

export {
  call,
  apply,
  bind,
  debounce,
  throttle,
  map,
  reduce,
  some,
  every,
  filter,
  find,
  findIndex,
  unique1,
  unique2,
  unique3,
  slice,
  flatten1,
  flatten2,
  chunk,
  pull,
  pullAll,
  drop,
  dropRight,
  newInstance,
  mergeObject,
  shadowClone1,
  shadowClone2,
  eventBus,
  PubSub,
  axios,
  promise
}
